package com.coamc.xlsunit;

import java.util.List;
import java.util.Map;

/**
 * 数据库访问接口。
 * @author xiandafu
 *
 */
public interface DBAccess {
	/**
	 * 保存一行数据到数据库，如果有自增主键，返回自增主键值
	 * @param tableName
	 * @param row
	 * @Param id, 主键名字
	 * @return 自增主键列名字和值
	 */
	public Map<String, Object> save(String tableName, Map<String, Object> row, List<String> id);

	/**
	 * 根据主键取的数据库记录
	 * @param tableName
	 * @param id
	 * @return
	 */
	public Map<String, Object> findById(String tableName, Map<String, Object> id);

	/**
	 * 根据查询语句取得多个条记录 where中可能包含需要替换的变量
	 * @param tableName
	 * @param where: user_id=1  , 或者  user_id=${userId}
	 * @param vars 变量表
	 * @return
	 */
	public List<Map<String, Object>> query(String tableName, String where, VariableTable vars);
}
